Off-the-shelf software for a sewing machine typically provides functionalities for a user to input a pattern that is to be sewn by the sewing machine. For example, the user may input an image file (via a digital camera, a scanner, the Internet, etc.) that contains the pattern into a sewing machine that executes the software, and the software is capable of converting the image file into a pattern file that is readable by the sewing machine.